home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
326-350
/
disk_339
/
pcq
/
include
/
ports.i
< prev
next >
Wrap
Text File
|
1992-05-06
|
1KB
|
75 lines
{
These are the things you'll need in order to use Exec messages.
You will not need to include Exec.i before this.
}
type
NodeType = (NTUnknown, NTTask, NTInterrupt, NTDevice, NTMsgPort,
NTMessage, NTFreeMsg, NTReplyMsg, NTResource, NTLibrary,
NTMemory, NTSoftInt, NTFont, NTProcess, NTSemaphore);
Node = record
lnSucc : ^Node;
lnPred : ^Node;
lnType : Byte;
lnPri : Byte;
lnName : String;
end;
NodePtr = ^Node;
MinNode = Record
mln_Succ,
mln_Pred : ^MinNode;
end;
MinNodePtr = ^MinNode;
List = record
lhHead,
lhTail,
lhTailPred : NodePtr;
lhType,
lPad : Byte;
end;
ListPtr = ^List;
MinList = Record
mlh_Head,
mlh_Tail,
mlh_TailPred : MinNodePtr;
end;
MinListPtr = ^MinList;
MsgType = (PASignal, PASoftInt, PAIgnore, PFAction);
MsgPort = record
mpNode : Node;
mpFlags,
mpSigBit : Byte;
mpSigTask : Address;
mpMsgList : List;
end;
MsgPortPtr = ^MsgPort;
Message = record
mnNode : Node;
mnReplyPort : MsgPortPtr;
mnLength : Short;
end;
MessagePtr = ^Message;
Procedure AddPort(p : MsgPortPtr);
External;
Function FindPort(n : String): MsgPortPtr;
External;
Function GetMsg(p : MsgPortPtr): MessagePtr;
External;
Procedure PutMsg(p : MsgPortPtr; m : MessagePtr);
External;
Procedure RemPort(m : MsgPortPtr);
External;
Procedure ReplyMsg(m : MessagePtr);
External;
Function WaitPort(p : MsgPortPtr): MessagePtr;
External;